package com.situ.personal.service;

import java.util.List;
import java.util.Map;

import com.situ.personal.dao.UserDao;
import com.situ.personal.dao.UserRoleDao;
import com.situ.personal.entity.PageInfo;
import com.situ.personal.entity.User;

public class UserService {
	
	UserDao userDao = new UserDao();
	UserRoleDao userRoleDao = new UserRoleDao();

	public PageInfo findByPage(int pageNo, int pageSize) {
		PageInfo pageInfo = new PageInfo();
		pageInfo .setPageNo(pageNo);
		pageInfo.setPageSize(pageSize);
		
		// totalPage
		int count = userDao.getTotalCount();
		int totalPage = (int)Math.ceil( (double)count / pageSize);
		pageInfo.setTotalPage(totalPage);
				
		//list
		int offset = (pageNo-1)*pageSize;
		List<Map<String,Object>> list = userDao.fandPageInfo2(offset,pageSize);
		pageInfo.setList(list);
		
		return pageInfo;
	}

	public boolean insert(User user) {
		boolean isSuccess = userDao.insert(user);

		return isSuccess;
	}

	public boolean deleteById(int id) {
		
		//删除1对多 的多，，，是在user_role表里面的，所以 Dao层   应该在 userRoleDao里执行'deleteRoleByUserId(id);',,进user_role表   把role_id全删了
		// 此时  user_id，没有对应的role_id了，，，，就可以删除user_id了
		
		boolean isDeleteRole =  userRoleDao.deleteRoleByUserId(id); // 第1步  先把user_role 的 roleId全删了    user_id就不连任何role_id了（都没了）
		if (isDeleteRole) {
			System.out.println("RoleId删除成功");
		}else {
			System.out.println("RoleId删除失败");
		}
		
		boolean isSuccess = userDao.deleteById(id);  // 第2步  再user表里的  那人 的信息全删了  (user_id外键  已经不连接任何东西了)
		
		return isSuccess;
	}

	public boolean updateById(User user) {
		boolean isSuccess = userDao.updateById(user);
		return isSuccess;
	}

	public User selectById(int id) {
		User user = userDao.selectById(id);
		return user;
	}

	public User isLogin(String name, String password) {

		User user  = userDao.isLogin(name,password);
		return user;
	}

	public List<User> findAll() {
		// TODO Auto-generated method stub
		List<User> userList = userDao.findAll();
		return userList;
	}

	
}
